// 定义食物类
import Snake from "./Snake"

class Food {
  element: HTMLElement

  constructor() {
    this.element = <HTMLElement>document.querySelector('#food')
  }

  // 获取食物x坐标
  get x() {
    return this.element.offsetLeft
  }

  // 获取食物的y坐标
  get y() {
    return this.element.offsetTop
  }

  // 修改食物位置的方法
  changeFoodPosition() {
    // 食物的位置距离最左0 最大290
    // 食物的位置要随机生成
    const randomNumberLeft = Math.round(Math.random() * 29) * 10
    const randomNumberTop = Math.round(Math.random() * 29) * 10

    for (let i = 0; i < Snake.body.length; i++) {
      let bd = <HTMLElement>Snake.body[i]
      if (bd.offsetLeft === randomNumberLeft && bd.offsetTop) {
        this.changeFoodPosition()
      }
    }

    // 将绝对定位的食物设置top和left属性即可随机生成食物位置
    this.element.style.left = randomNumberLeft + 'px'
    this.element.style.top = randomNumberTop + 'px'

  }
}

export default Food
